<?php

class Documentos extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->datosusuario = $this->authentication->getDataLogged();
        $this->load->model('m_documento', 'documento');
    }

    /**
     * Listado de estudio estado.
     *
     * @return void
     */
    function index() {
        
    }

    function nuevo_popup() {
        if (!empty($_FILES)) {
            if ($_FILES['nombre']['error'] > 0) {
                $this->custom_errors['nombre'] = 'No ha seleccionado un archivo.';
            }
        }


        $this->form_validation->set_rules($this->documento->getValidacion());
        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $documento = $_POST;
            } else {
                $documento = $this->documento->valoresPorDefecto();
            }

            $data = array(
                'datosusuario' => $this->datosusuario,
                'titulo' => 'Nuevo Documento',
                'documento' => $documento,
                'seleccionar' => 'causas',
            );

            $this->load->view('templates/header', $data);
            $this->load->view('documentos/form');
            $this->load->view('templates/footer');
        } else {
            $causa = $this->session->userdata('causa');

            $folder = PATH_UPLOAD . '/' . $causa['id'];
            if (!is_dir($folder)) {
                mkdir($folder);
            }

            $config['upload_path'] = $folder;
            $config['allowed_types'] = '*';
            $config['file_name'] = rand(0, 999) . '-' . $_FILES['nombre']['name'];
            $config['max_size'] = '100000';

            $this->load->library('upload', $config);
            $this->upload->do_upload('nombre');

            $_POST['fecha'] = normal_to_database_date($_POST['fecha']);

            $this->documento->setAttributes($this->input);
            $this->documento->id = null;
            $this->documento->usuarioId = $this->datosusuario['id'];
            $this->documento->nombre = $this->upload->file_name;
            $this->documento->save();

            $causa = $this->session->userdata('causa');
            $data = array(
                'id' => $this->documento->id,
                'nombre' => $this->documento->nombre,
                'descripcion' => $this->documento->descripcion,
                'pathdocumento' => PATH_UPLOAD . $causa['id'] . '/',
            );
            $this->load->view('documentos/retorno_valor', $data);
        }
    }

    public function _nombre_check($str) {
        #unused $str

        if (isset($this->custom_errors['nombre'])) {
            $this->form_validation->set_message('_nombre_check', $this->custom_errors['nombre']);
            return FALSE;
        }
        return TRUE;
    }

    public function eliminar() {
        $causa = $this->session->userdata('causa');
        $pathdocumento = PATH_UPLOAD . $causa['id'] . '/';
        
        if ($this->documento->get((int) $_GET['id'])) {
            unlink($pathdocumento . $this->documento->nombre);
            $this->documento->delete();
        }
    }

}

